1. Field of Invention
This invention relates to computer software, and particularly to a software package for building customized charts and flow diagrams with executable conditions. The applications include quality control monitoring for production lines such as semiconductor production.
2. Discussion of the Background Art
Software packages are increasingly being written for Windows(copyright) formats so that a user may interact with the program through symbols on the computer screen via mouse clicks or arrow keys. Such programs are typically written in Visual C++ or Visual Basic programming language, and permit the programmer to call on generalized programming objects to display selectable data input fields. These programs are more user-friendly and afford greater flexibility because the user can choose to select from any one of a large number of program functions based upon displayed visual cues.
One of the primary tools utilized by a programmer is the flowchart. Most programs begin with the programmer manually drawing a flowchart of what he wants his program to do. Flowcharts are formed by a series of linked graphical symbols with corresponding functions. For example, a diamond shape in a flowchart represents a conditional, and branching links from the diamond express the conditions presented by the data. Drawing programs such as Top Down(copyright) currently exist to create flowcharts, circuit diagrams and other drawings on a computer.
It is also known to employ icons on a computer screen to produce programming shortcuts and to access a given program or document. These icons perform a single programming function, e.g. transferring the display into a given document and/or a given program. While multiple subfunctions are performed upon selection of any icon, only one icon is selected at a time.
Object oriented programming permits a programmer to call upon a particular functional subroutine in Windows(copyright) which is modular in design and operable across a large number of different hardware systems. The objects can be used to design programming functions, e.g. button bars, slide bars, toolbars, etc.
Another function that is commonly used in word processing programs such as Word(copyright) and WordPerfect(copyright) is the macro. A macro is a way of storing instructions and strings in a computer so that automated, customized commands can be created by the user. The macro essentially records the literal keystrokes of the user. These keystrokes may be text strings, function key selections, selections from menu items, print commands, or even exiting procedures. Macros are quick, handy, and powerful tools that permit user-friendly programming without specific knowledge of a programming language. Even if one has great expertise in programming languages, it may be simpler and more effective to create commands with macros.
Quality control has historically relied upon automated computer systems. The automated production line replaces the manual laborer and automated quality control eliminates the inspectors. Today, one important consumer of quality control is the semiconductor industry. Microscopic defects in a semiconductor wafer have major implications on the cost and yield of a semiconductor production process. Because semiconductor technology is so sensitive to defects, isolating their precise source in the production process facilitates great advancement in the industry.
Quality control software packages are currently available for the semiconductor industry, but the programs are generally written on a project-specific basis. These programs are written to include a large number of analytical utilities around a core system but these utilities are essentially fixed in number and cannot be modified. When a customer wishes to change the way data is analyzed, he must either call upon a new utility or create a new program. Thus, these packages are expensive and lack flexibility.
One method of measuring the number and location of defects in a semiconductor chip involves filtering or erasing the non-defect data from the production data to leave only the defect data. A map of actual production data either may be compared to a map of another set of actual production data, or to a map of an ideal set of production data stored in the computer memory. The defect data is then analyzed according to number, density, location, type and step in the production process, with the goal of correcting the production process itself. The defect data may give clues about how to increase the yield and decrease the cost of the product.
A variety of prior art data analysis systems and methods have been disclosed for industrial process control of semiconductor manufacturing. Among these are U.S. Pat. No. 5,226,118 to Baker et al. This patent discloses a system for making charts. The charts are displayed as a gallery of cells where each cell is a unit of a two dimensional array. Each cell in the chart may be defined as a mathematical function of one or more other cells in a manner similar to a spreadsheet program such as Microsoft Excel.(copyright) Other related patents are U.S. Pat. Nos. 4,967,381; 4,951,190; 4,873,623; 4,843,538; 4,805,089; and 4,679,137. These patents disclose software analytical tools with complex three level data structures. Process analysis can only be customized by selecting from a set of predefined categories supplied by the programmer at the time the software is installed.
The present invention concerns a software package for graphically creating charts and diagrams in a Windows environment. The charts may be used to analyze data from production runs based upon production variables and production functions so that a customer may more easily understand the origins of production defects. Examples of production variables are lot number, layer number, or a range of calendar dates. The quantity or other statistical measure of production defects for each of the production variables is displayed in the form of bar chart pages. These statistical measures are called production functions. The software permits the user to move from one page to another, or to place two pages side by side for comparison. It thus becomes possible to look for patterns establishing where the production defects arise.
The production variables, production functions, and type selection of the graphical display chart are recorded in a xe2x80x9cmacroxe2x80x9d like system where the literal keystrokes and selections are remembered by the software for each of a plurality of graphical display pages. Thus, it is not necessary for the customer to perform any express reprogramming to modify the data analysis scheme. The keystrokes of the user are recorded by the xe2x80x9cmacroxe2x80x9d for each page of data, and the choice of variables and functions for each these pages is stored by the computer as they are created. In this manner, it becomes possible to customize a particular data analysis scheme in a modular way without having to entirely rewrite a data analysis program for every application.
The invention also includes in the software package a system and method of creating conditional relationships in the form of a flowchart for analyzing the production data, and displaying the flowcharts in graphical form. The flowchart nodes are stored in the system as the xe2x80x9cmacroxe2x80x9d is recorded. Each page of data is displayed as one node of the flowchart, thereby representing the choice of variables and functions, as well as the type of chart display selection. The customer can also create conditional relationships, such as would be represented by a diamond shape in a standard flowchart, between the data analysis schemes for each page of data by selecting from a dialog box on the flowchart page. Thus, a user can specify that a follow-up test is performed only in the event that the results from a previous test exceed some predetermined value. The entire data analysis scheme represented by the flowchart is executed by pressing a button on the toolbar of that window page.
The invention further includes a system and method for selecting and automatically executing the flowchart at any time specified by the customer. The flowchart conditionals are flexibly changed by the customer, so that it is easier to customize a given data analysis scheme for a variety of applications. The user may provide that a particular flowchart conditional data analysis scheme is automatically executed at a future time certain on a regular basis and published in any of a variety of specified formats. Customized production reports are generated at a printer or web server to permit multiple users to have access to the analysis of production data on a weekly or other basis. The execution of the flowchart analysis may also include a conditional notification node so that an appropriate operator is alerted when the results of the analysis exceed some predetermined limit. This notification may be through an e-mail message at the operator""s personal computer or may be connected to a paging system.